package com.cloudfast.platform.region.dao;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import com.cloudfast.dao.BaseDao;
import com.cloudfast.dao.impl.BaseDaoImpl;
import com.cloudfast.platform.region.entity.RegionCity;

/**
 * 行政区域
 *
 * @author liuyw
 * @date 2021年3月24日
 */
public interface RegionCityDao extends BaseCustomer, JpaRepository<RegionCity, Long> {

    /**
     * 匹配区域信息
     *
     * @param region
     * @return
     */
    @Query("from RegionCity where  regionName=?1")
    public RegionCity getRegionCity(String region);


    /**
     * 模糊匹配名称
     *
     * @param region
     * @param regionType
     * @return
     */
    @Query("from RegionCity where regionName like ?1 and regionType=?2")
    public RegionCity findRegionCityByName(String region, String regionType);

    /**
     * 根据父查询子
     *
     * @param parentCode
     * @return
     */
    @Query("from RegionCity where parentCode=?1 ")
    public List<RegionCity> getChildrenByParent(String parentCode);


    /**
     * 根据车牌查询地市
     *
     * @param carNoSign
     * @return
     */
    @Query("from RegionCity where carNoSign like ?1 ")
    public RegionCity findRegionCityByCarNoSign(String carNoSign);


    /**
     * 查询行政区域信息
     *
     * @param regionName
     * @param regionType
     * @return
     */
    @Query("from RegionCity where regionName like ?1 and regionType=?2")
    public RegionCity findRegionCityByRegionName(String regionName, String regionType);
}

interface BaseCustomer extends BaseDao<RegionCity, Long> {

}

@Repository
class RegionCityDaoImpl extends BaseDaoImpl<RegionCity, Long> implements BaseCustomer {

}
